Mairix is a tool for indexing and searching words in locally stored mail. It was written by Richard Curnow and is licensed under the GPL. Mairix comes with most popular GNU/Linux distributions, but it also runs under Windows (with cygwin), Mac OS X and Solaris. The homepage can be found at http://www.rpcurnow.force9.co.uk/mairix/index.html
Though mairix might not be as flexible as other search tools like swish++ or namazu, it has the prime advantage of being incredibly fast. On current systems, it can easily search through headers and message bodies of thousands and thousands of mails in well under a second. Building the database necessary for searching might take a minute or two, but only has to be done once fully. Afterwards, the updates are done incrementally and therefore are really fast, too. Additionally, mairix is very easy to set up.
Mairix presents the search results by either populating a virtual maildir/MH folder with symlinks which point to the “real” message files, or if mbox is used, it creates a new mbox file which contains copies of the found messages.
mairix.el is an interface to the mairix search
engine. It allows you to call mairix with a search term, easily
create searches based on the currently displayed mail, save
regularly used searches in your .emacs for future use and lets you call
mairix for updating the database. It also lets you easily create
search queries using graphical widgets, similar to a
customization buffer.
Currently, mairix.el is only tested with mbox
output together with RMail, Gnus, or VM as the Emacs mail
program. However, it should also work with Maildir or MH, and it
should be very easy to integrate other Emacs mail programs into
mairix.el (see Extending
mairix.el).
If you use Gnus with maildir or MH, you should really use the
native Gnus back end nnmairix instead, since it is
more tightly integrated into Gnus and has more features.